package com.freeman.cement.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freeman.cement.myenum.ProcessingFlow;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("cjdb")
public class HandleRecord {
    //数据表中的主键
    //mybatis-plus使用自增长id
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 海康平台生成的事件id
     */
    @TableField("eventId")
    private String eventId;
    /**
     * 事件状态 1：未处理；2：已接警；3：通知处理人； 4：处理中； 5：待验收；6：处理完成；7：已关闭；8：处理异常
     */
    @TableField("status")
    private Integer status;
    @TableField(exist = false)
    private String statusName;
    /**
     * 当前状态开始时间
     */
    private Date starttime;
    /**
     * 当前状态结束时间
     */
    private Date endtime;
    /**
     * 当前状态处理人
     */
    private String handler;
    /**
     * 当前状态处理人名字
     */
    @TableField("handlerName")
    private String handlerName;
    /**
     * 当前状态的处理意见
     */
    private String opinion;
    /**
     * 下一阶段/转给的处理人，可以是值班室的id，也可以是人员的id
     */
    private String nexthandler;
    /**
     * 下一阶段处理人名字
     */
    @TableField("nexthandlerName")
    private String nexthandlerName;
    /**
     * 值班室id
     */
    @TableField("dutyRoomId")
    private Integer dutyRoomId;

    public String getStatusName(){
        if(status != null) {
            for (ProcessingFlow e : ProcessingFlow.values()) {
                if (e.getIndex() == status) {
                    return statusName = e.getName();
                }
            }
        }
        return null;
    }

}
